{"componentChunkName":"component---src-templates-post-tsx","path":"/python-study_12/","result":{"data":{"markdownRemark":{"html":"<ul>\n<li>함수의 기본</li>\n<li>가변 매개변수</li>\n<li>기본 매개변수</li>\n<li>키워드 매개변수</li>\n</ul>\n<hr>\n<h2 id=\"함수의-기본\" style=\"position:relative;\"><a href=\"#%ED%95%A8%EC%88%98%EC%9D%98-%EA%B8%B0%EB%B3%B8\" aria-label=\"함수의 기본 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>함수의 기본</h2>\n<p>함수를 생성하는 기본 형태는 다음과 같습니다.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> 함수 이름<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    문장</code></pre></div>\n<h3 id=\"기본적인-함수\" style=\"position:relative;\"><a href=\"#%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9D%B8-%ED%95%A8%EC%88%98\" aria-label=\"기본적인 함수 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>기본적인 함수</h3>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> <span class=\"token function\">print_3_times</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하세요\"</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하세요\"</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하세요\"</span><span class=\"token punctuation\">)</span>\nprint_3_times<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># 실행결과</span>\n안녕하세요\n안녕하세요\n안녕하세요</code></pre></div>\n<h3 id=\"매개변수의-기본\" style=\"position:relative;\"><a href=\"#%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EC%9D%98-%EA%B8%B0%EB%B3%B8\" aria-label=\"매개변수의 기본 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>매개변수의 기본</h3>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> <span class=\"token function\">print_3_times</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">,</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">)</span>\nprint_3_times<span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하세요\"</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># 실행결과</span>\n안녕하세요\n안녕하세요\n안녕하세요</code></pre></div>\n<h3 id=\"typeerror-살펴보기\" style=\"position:relative;\"><a href=\"#typeerror-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0\" aria-label=\"typeerror 살펴보기 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>TypeError 살펴보기</h3>\n<p>함수를 호출할 때 매개변수를 넣지 않거나 더 많이 넣는다면 어떻게 될까?</p>\n<h4 id=\"1-매개변수를-넣지-않았을-때\" style=\"position:relative;\"><a href=\"#1-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EB%A5%BC-%EB%84%A3%EC%A7%80-%EC%95%8A%EC%95%98%EC%9D%84-%EB%95%8C\" aria-label=\"1 매개변수를 넣지 않았을 때 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. 매개변수를 넣지 않았을 때</h4>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> <span class=\"token function\">print_3_times</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">,</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">)</span>\nprint_3_times<span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하세요\"</span><span class=\"token punctuation\">)</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">Traceback <span class=\"token punctuation\">(</span>most recent call last<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n  File <span class=\"token string\">\"c:\\Users\\다은\\Desktop\\test\\format3.py\"</span><span class=\"token punctuation\">,</span> line <span class=\"token number\">4</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">in</span> <span class=\"token operator\">&lt;</span>module<span class=\"token operator\">></span>\n    print_3_times<span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하세요\"</span><span class=\"token punctuation\">)</span>\nTypeError<span class=\"token punctuation\">:</span> print_3_times<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> missing <span class=\"token number\">1</span> required positional argument<span class=\"token punctuation\">:</span> <span class=\"token string\">'n'</span></code></pre></div>\n<h4 id=\"2-매개변수를-더-넣었을-때\" style=\"position:relative;\"><a href=\"#2-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EB%A5%BC-%EB%8D%94-%EB%84%A3%EC%97%88%EC%9D%84-%EB%95%8C\" aria-label=\"2 매개변수를 더 넣었을 때 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2. 매개변수를 더 넣었을 때</h4>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> <span class=\"token function\">print_3_times</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">,</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">)</span>\nprint_3_times<span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하세요\"</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">)</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">Traceback <span class=\"token punctuation\">(</span>most recent call last<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n  File <span class=\"token string\">\"c:\\Users\\다은\\Desktop\\test\\format3.py\"</span><span class=\"token punctuation\">,</span> line <span class=\"token number\">5</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">in</span> <span class=\"token operator\">&lt;</span>module<span class=\"token operator\">></span>\n    print_3_times<span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하세요\"</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">)</span>\nTypeError<span class=\"token punctuation\">:</span> print_3_times<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> takes <span class=\"token number\">2</span> positional arguments but <span class=\"token number\">3</span> were given</code></pre></div>\n<p>코드를 실행하면 다음과 같이 오류를 출력합니다.<br>\n따라서 함수를 호출할 때는 <strong>함수를 선언할 때와 같은 개수</strong>의 변수를 입력해야 합니다.</p>\n<hr>\n<h2 id=\"가변-매개변수\" style=\"position:relative;\"><a href=\"#%EA%B0%80%EB%B3%80-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98\" aria-label=\"가변 매개변수 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>가변 매개변수</h2>\n<p>앞서 살펴본 함수는 함수를 선언할 때 매개변수와 함수를 호출할 때의 매개변수가 같아야 했습니다.<br>\n하지만 우리가 자주 사용해 왔던 <code class=\"language-text\">print()</code> 함수는 매개변수를 윈하는 만큼 입력할 수 있습니다. 이와 같이 매개변수를 원하는 만큼 받을 수 있는 함수를 <strong>가변 매개변수</strong>라고 합니다.</p>\n<h3 id=\"가변-매개변수의-제약\" style=\"position:relative;\"><a href=\"#%EA%B0%80%EB%B3%80-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EC%9D%98-%EC%A0%9C%EC%95%BD\" aria-label=\"가변 매개변수의 제약 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>가변 매개변수의 제약</h3>\n<p>가변 매개변수를 사용할 때는 다음과 같은 제약이 있습니다.</p>\n<ul>\n<li>가변 매개변수 뒤에는 일반 매개변수가 올 수 없습니다.</li>\n<li>가변 매개변수는 하나만 사용할 수 있습니다.</li>\n</ul>\n<h3 id=\"가변-매개변수-예제로-살펴보기\" style=\"position:relative;\"><a href=\"#%EA%B0%80%EB%B3%80-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-%EC%98%88%EC%A0%9C%EB%A1%9C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0\" aria-label=\"가변 매개변수 예제로 살펴보기 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>가변 매개변수 예제로 살펴보기</h3>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> <span class=\"token function\">print_n_times</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">,</span> <span class=\"token operator\">*</span>values<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">for</span> value <span class=\"token keyword\">in</span> values<span class=\"token punctuation\">:</span>\n            <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">)</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\nprint_n_times<span class=\"token punctuation\">(</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"안녕\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"즐거운\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"하루\"</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>▶ 실행결과</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">안녕\n즐거운\n하루\n\n안녕\n즐거운\n하루\n\n안녕\n즐거운\n하루</code></pre></div>\n<hr>\n<h2 id=\"기본-매개변수\" style=\"position:relative;\"><a href=\"#%EA%B8%B0%EB%B3%B8-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98\" aria-label=\"기본 매개변수 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>기본 매개변수</h2>\n<p>print() 함수의 자동 완성 기능으로 나오는 설명입니다.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">print(value, ..., sep=&#39; &#39;, end=&#39;\\n&#39;, file=sys.stdout, flush=False)</code></pre></div>\n<p>가장 앞에있는 value가 바로 <strong>가변 매개변수</strong>입니다.\n앞에서 설명했다시피 가변 매개변수 뒤에는 일반 매개변수가 올 수 없다고 했습니다. 하지만 <code class=\"language-text\">매개변수 =&quot;값&quot;</code> 형태로 되어 있는 매개변수를 확인할 수 있습니다.<br>\n이는 일반 매개변수가 아닌 <strong>기본 매개변수</strong>라고 부릅니다. 매개변수를 입력하지 않았을 경우 매개변수에 들어가는 기본값이 됩니다.</p>\n<h3 id=\"기본-매개변수의-제약\" style=\"position:relative;\"><a href=\"#%EA%B8%B0%EB%B3%B8-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EC%9D%98-%EC%A0%9C%EC%95%BD\" aria-label=\"기본 매개변수의 제약 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>기본 매개변수의 제약</h3>\n<ul>\n<li>기본 매개변수 뒤에는 일반 매개변수가 올 수 없습니다.</li>\n</ul>\n<h3 id=\"기본-매개변수-예제로-살펴보기\" style=\"position:relative;\"><a href=\"#%EA%B8%B0%EB%B3%B8-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-%EC%98%88%EC%A0%9C%EB%A1%9C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0\" aria-label=\"기본 매개변수 예제로 살펴보기 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>기본 매개변수 예제로 살펴보기</h3>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> <span class=\"token function\">print_n_times</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">,</span> n<span class=\"token operator\">=</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">for</span> i  <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">)</span>\nprint_n_times<span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하세요\"</span><span class=\"token punctuation\">)</span></code></pre></div>\n<hr>\n<h2 id=\"키워드-매개변수\" style=\"position:relative;\"><a href=\"#%ED%82%A4%EC%9B%8C%EB%93%9C-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98\" aria-label=\"키워드 매개변수 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>키워드 매개변수</h2>\n<p>매개변수 이름을 지정해서 입력하는 매개변수를 <strong>키워드 매개변수</strong>라고 합니다.</p>\n<h3 id=\"키워드-매개변수-예제로-살펴보기\" style=\"position:relative;\"><a href=\"#%ED%82%A4%EC%9B%8C%EB%93%9C-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-%EC%98%88%EC%A0%9C%EB%A1%9C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0\" aria-label=\"키워드 매개변수 예제로 살펴보기 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>키워드 매개변수 예제로 살펴보기</h3>\n<h4 id=\"키워드-매개변수-1\" style=\"position:relative;\"><a href=\"#%ED%82%A4%EC%9B%8C%EB%93%9C-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-1\" aria-label=\"키워드 매개변수 1 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>키워드 매개변수</h4>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> <span class=\"token function\">print_n_times</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span>values<span class=\"token punctuation\">,</span> n<span class=\"token operator\">=</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">for</span> value <span class=\"token keyword\">in</span> values<span class=\"token punctuation\">:</span>\n            <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">)</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\nprint_n_times<span class=\"token punctuation\">(</span><span class=\"token string\">\"안녕하요\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"즐거운\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"하루\"</span><span class=\"token punctuation\">,</span> n<span class=\"token operator\">=</span><span class=\"token number\">3</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>▶ 실행결과</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">안녕하요\n즐거운\n하루\n\n안녕하요\n즐거운\n하루\n\n안녕하요\n즐거운\n하루</code></pre></div>\n<h4 id=\"기본-매개변수-중-필요한-값만-입력하기\" style=\"position:relative;\"><a href=\"#%EA%B8%B0%EB%B3%B8-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-%EC%A4%91-%ED%95%84%EC%9A%94%ED%95%9C-%EA%B0%92%EB%A7%8C-%EC%9E%85%EB%A0%A5%ED%95%98%EA%B8%B0\" aria-label=\"기본 매개변수 중 필요한 값만 입력하기 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>기본 매개변수 중 필요한 값만 입력하기</h4>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">def</span> <span class=\"token function\">test</span><span class=\"token punctuation\">(</span>a<span class=\"token punctuation\">,</span> b<span class=\"token operator\">=</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span> c<span class=\"token operator\">=</span><span class=\"token number\">100</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>a<span class=\"token operator\">+</span>b<span class=\"token operator\">+</span>c<span class=\"token punctuation\">)</span>\n\ntest<span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">20</span><span class=\"token punctuation\">,</span><span class=\"token number\">30</span><span class=\"token punctuation\">)</span>\ntest<span class=\"token punctuation\">(</span>a<span class=\"token operator\">=</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span> b<span class=\"token operator\">=</span><span class=\"token number\">100</span><span class=\"token punctuation\">,</span> c<span class=\"token operator\">=</span><span class=\"token number\">200</span><span class=\"token punctuation\">)</span>\ntest<span class=\"token punctuation\">(</span>c<span class=\"token operator\">=</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span> a<span class=\"token operator\">=</span><span class=\"token number\">100</span><span class=\"token punctuation\">,</span> b<span class=\"token operator\">=</span><span class=\"token number\">200</span><span class=\"token punctuation\">)</span>\ntest<span class=\"token punctuation\">(</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span> c<span class=\"token operator\">=</span><span class=\"token number\">200</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>▶ 실행결과</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">60\n310\n310\n220</code></pre></div>\n<hr>\n<h4 id=\"reference\" style=\"position:relative;\"><a href=\"#reference\" aria-label=\"reference permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Reference</h4>\n<ul>\n<li><a href=\"https://www.hanbit.co.kr/store/books/look.php?p_code=B2587075793\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">혼자 공부하는 파이썬</a></li>\n</ul>","excerpt":"함수의 기본 가변 매개변수 기본 매개변수 키워드 매개변수 함수의 기본 함수를 생성하는 기본 형태는 다음과 같습니다. 기본적인 함수 매개변수의 기본 TypeError 살펴보기 함수를 호출할 때 매개변수를 넣지 않거나 더 많이 넣는다면 어떻게 될까? 1…","tableOfContents":"<ul>\n<li>\n<p><a href=\"/python-study_12/#%ED%95%A8%EC%88%98%EC%9D%98-%EA%B8%B0%EB%B3%B8\">함수의 기본</a></p>\n<ul>\n<li><a href=\"/python-study_12/#%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9D%B8-%ED%95%A8%EC%88%98\">기본적인 함수</a></li>\n<li><a href=\"/python-study_12/#%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EC%9D%98-%EA%B8%B0%EB%B3%B8\">매개변수의 기본</a></li>\n<li><a href=\"/python-study_12/#typeerror-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0\">TypeError 살펴보기</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/python-study_12/#%EA%B0%80%EB%B3%80-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98\">가변 매개변수</a></p>\n<ul>\n<li><a href=\"/python-study_12/#%EA%B0%80%EB%B3%80-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EC%9D%98-%EC%A0%9C%EC%95%BD\">가변 매개변수의 제약</a></li>\n<li><a href=\"/python-study_12/#%EA%B0%80%EB%B3%80-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-%EC%98%88%EC%A0%9C%EB%A1%9C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0\">가변 매개변수 예제로 살펴보기</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/python-study_12/#%EA%B8%B0%EB%B3%B8-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98\">기본 매개변수</a></p>\n<ul>\n<li><a href=\"/python-study_12/#%EA%B8%B0%EB%B3%B8-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EC%9D%98-%EC%A0%9C%EC%95%BD\">기본 매개변수의 제약</a></li>\n<li><a href=\"/python-study_12/#%EA%B8%B0%EB%B3%B8-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-%EC%98%88%EC%A0%9C%EB%A1%9C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0\">기본 매개변수 예제로 살펴보기</a></li>\n</ul>\n</li>\n<li>\n<p><a href=\"/python-study_12/#%ED%82%A4%EC%9B%8C%EB%93%9C-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98\">키워드 매개변수</a></p>\n<ul>\n<li><a href=\"/python-study_12/#%ED%82%A4%EC%9B%8C%EB%93%9C-%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98-%EC%98%88%EC%A0%9C%EB%A1%9C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0\">키워드 매개변수 예제로 살펴보기</a></li>\n</ul>\n</li>\n</ul>","fields":{"slug":"/python-study_12/"},"frontmatter":{"title":"혼자 공부하는 파이썬 - 함수 만들기","date":"Jul 22, 2021","tags":["Python"],"keywords":["python","혼자공부하는파이썬"],"update":"Jan 01, 0001"}}},"pageContext":{"slug":"/python-study_12/","series":[{"slug":"/python-study_1/","title":"혼자 공부하는 파이썬 - Python 용어 정리","num":1},{"slug":"/python-study_2/","title":"혼자 공부하는 파이썬 - 자료형과 문자열","num":2},{"slug":"/python-study_3/","title":"혼자 공부하는 파이썬 - 숫자","num":3},{"slug":"/python-study_4/","title":"혼자 공부하는 파이썬 - 변수와 입력","num":4},{"slug":"/python-study_5/","title":"혼자 공부하는 파이썬 - 숫자와 문자열의 다양한 함수","num":5},{"slug":"/python-study_6/","title":"혼자 공부하는 파이썬 - 불 자료형과 if 조건문","num":6},{"slug":"/python-study_7/","title":"혼자 공부하는 파이썬 - if~else와 elif 구문","num":7},{"slug":"/python-study_8/","title":"혼자 공부하는 파이썬 - 리스트와 반복문","num":8},{"slug":"/python-study_9/","title":"혼자 공부하는 파이썬 - 딕셔너리와 반복문","num":9},{"slug":"/python-study_10/","title":"혼자 공부하는 파이썬 - 범위와 while 반복문","num":10},{"slug":"/python-study_11/","title":"혼자 공부하는 파이썬 - 문자열, 리스트, 딕셔너리와 관련된 기본 함수","num":11},{"slug":"/python-study_12/","title":"혼자 공부하는 파이썬 - 함수 만들기","num":12}],"lastmod":"2021-07-22"}},"staticQueryHashes":["2027115977","694178885"]}